package com.lmqb.service;

import java.util.Date;
import java.util.List;

import javax.servlet.http.HttpServletRequest;

import org.springframework.ui.Model;

import com.lmqb.bean.GrabCarrierBills;
import com.lmqb.bean.GrabCarrierCalls;
import com.lmqb.bean.GrabCarrierFamilies;
import com.lmqb.bean.GrabCarrierNets;
import com.lmqb.bean.GrabCarrierSmses;
import com.lmqb.bean.GrabCarrierUserinfo;
import com.lmqb.bean.GrabFaceRecognition;
import com.lmqb.bean.GrabMobileContacts;
import com.lmqb.bean.GrabQqContacts;
import com.lmqb.bean.GrabQqUserinfo;
import com.lmqb.bean.GrabTaobaoAlipaywealth;
import com.lmqb.bean.GrabTaobaoDeliveraddress;
import com.lmqb.bean.GrabTaobaoRecentdeliveraddress;
import com.lmqb.bean.GrabTaobaoUserinfo;
import com.lmqb.bean.GrabWeixin;
import com.lmqb.bean.GrabXuexin;
import com.lmqb.bean.GrabZhima;
import com.lmqb.bean.JCheckArtificial;
import com.lmqb.bean.JCollection;
import com.lmqb.bean.JRefuseReason;
import com.lmqb.bean.LmAccountLog;
import com.lmqb.bean.LmAgentApply;
import com.lmqb.bean.LmRepay;
import com.lmqb.bean.LmUser;
import com.lmqb.bean.LmUserBank;
import com.lmqb.bean.LmUserCheckLog;
import com.lmqb.bean.LmUserEmergency;
import com.lmqb.bean.LmUserInfo;
import com.lmqb.bean.LmUserJob;
import com.lmqb.bean.LmUserLoginLog;
import com.lmqb.bean.LogSms;
import com.lmqb.bean.LogWeixin;
import com.lmqb.entry.TuiGuang;
import com.lmqb.entry.UBaseInfo;
import com.lmqb.entry.ULoan;
import com.lmqb.entry.UUserLoan;
import com.lmqb.page.AgentApplyPager;
import com.lmqb.page.LmDaiLiPager;
import com.lmqb.page.LmUserPager;
import com.lmqb.page.UserBankPager;
import com.lmqb.page.UserChangePager;
import com.lmqb.page.UserEmergencyPager;
import com.lmqb.page.UserJobPager;
import com.lmqb.page.UserLoginPager;
import com.lmqb.page.UserTokenPager;


public interface UserService {

	UserTokenPager selectUserTokenPager(UserTokenPager pagerModel);

	UserLoginPager selectUserLoginPager(UserLoginPager pagerModel);
    //xiugai 7.5
	LmUserPager selectUserPager(LmUserPager pagerModel);

	AgentApplyPager selectAgentApplyPager(AgentApplyPager pagerModel);

	UserBankPager selectUserBankPager(UserBankPager pagerModel);

	UserJobPager selectUserJobPager(UserJobPager pagerModel);

	UserEmergencyPager selectUserEmergencyPager(UserEmergencyPager pagerModel);

	UserChangePager selectUserChangePager(UserChangePager pagerModel);

	LmDaiLiPager selectDailiPager(LmDaiLiPager pagerModel);
	
	LmDaiLiPager selectAgentCheckPager(LmDaiLiPager pagerModel);//代理商审核

	List<JRefuseReason> selectAllRefuse(JRefuseReason refuse);

	Integer selectCheckType(Integer userId);

	JCheckArtificial selectMaxCheck(Integer userId);

	void addCheck(JCheckArtificial check);

	LmUserInfo selectUserInfoByUserId(Integer userId);

	JCheckArtificial selectCheckById(Integer oneCheckId);

	UBaseInfo selectBaseInfo(Integer userId);

	LmUserJob selectWorkInfo(Integer userId);

	LmUserEmergency selectEmergency(Integer userId);

	LmUserBank selectUserBank(Integer userId);

	GrabZhima selectZhiMa(Integer userId);

	
	GrabCarrierUserinfo selectCrarrier(Integer userId);
    //亲情网查询
	List<GrabCarrierFamilies> selectCarrierFamilies(HttpServletRequest request,Integer userId);
    //账单查询
	List<GrabCarrierBills> selectBills(HttpServletRequest request,Integer userId);
    //通话查询
	List<GrabCarrierCalls> selectCalls(HttpServletRequest request,Integer userId);
    //短信明细
	List<GrabCarrierSmses> selectSmses(HttpServletRequest request,Integer userId);
    //流量
	List<GrabCarrierNets> selectNets(HttpServletRequest request,Integer userId);

	List<GrabQqUserinfo> selectQQuserINfo(Integer userId);
    //xiugai 7.5
	List<GrabQqContacts> selectQQContacts(HttpServletRequest request,Integer userId);//qq好友查询

	GrabTaobaoUserinfo selectTaobao(Integer userId);

	List<GrabTaobaoAlipaywealth> selectAlipaywealth(Integer userId);

	List<GrabTaobaoDeliveraddress> selectTaobaoAddress(Integer userId);

	List<GrabTaobaoRecentdeliveraddress> selectRecentAddress(Integer userId);

	GrabXuexin selectXueXin(Integer userId);

	UUserLoan selectUserLoan(Integer userId);
    //提现列表
	List<ULoan> selectLoan(HttpServletRequest request,Integer userId);

	GrabWeixin selectWeixin(Integer userId);

	LmRepay selectMaxRepay(Integer userId);

	List<LmRepay> selectReplay(Integer userId);

	GrabFaceRecognition selectFaceRecognition(Integer userId);
    //短信记录
	List<LogSms> selectLogSms(HttpServletRequest request,Integer userId);
    //微信记录
	List<LogWeixin> selectLogWeixin(HttpServletRequest request,Integer userId);
    //位置轨迹
	List<LmUserLoginLog> selectLoginLog(HttpServletRequest request,Integer userId);

	LmUserCheckLog selectMaxCheckLog(Integer userId);
    //查询审核记录
	List<JCheckArtificial> selectCheckArtifs(JCheckArtificial artificial);

	LmUser selectByUserId(Integer userId);
    //推广列表
	List<TuiGuang> selectTuiGuang(Integer userId);
    //个人奖励
	List<LmAccountLog> selectAccountLog(HttpServletRequest request,LmAccountLog account);

	List<JCollection> selectCuiShou(Integer userId);

	void addCuiShou(JCollection cuishou);

	LmAgentApply selectAgentApply(Integer userId);

	void updateUser(LmUser user);

	void updateAgentApply(LmAgentApply agentApply);

	List<LmUserInfo> selectAll();
	
	LmUserInfo selectAll1(Integer userId);
	
    int	updateAgentCheckPass(Integer userId);//代理审核通过
    
    int	updateAgentCheckNoPass(Integer userId);//代理审核不通过
    
    List<GrabMobileContacts>selectMobileByUserId(HttpServletRequest request,Integer userId);//手机通讯录
    
    LmUserPager selectUserPagerAg(LmUserPager pagerModel);
    
    LmUserPager selectCailiaobucUserPager(LmUserPager pagerModel);//
    
}
